home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / tools / install / pinstall / menu.pow < prev    next >
Encoding:
Text File  |  1994-06-05  |  5.8 KB  |  110 lines

  1. rem **************************************************************************
  2. rem *                                                                        *
  3. rem *                  Script which creates and reads a menu                 *
  4. rem *                                                                        *
  5. rem * Uses GOSUB, EXECUTE_FILE for Dos shell, window functions, READ_MENU    *
  6. rem * and VIEW_FILE to view this script.                                     *
  7. rem *                                                                        *
  8. rem * Compile by running PINST.EXE                                           *
  9. rem *                                                                        *
  10. rem **************************************************************************
  11.  
  12. intvar  demowin
  13. intvar  mainmenu
  14. intvar  menusel
  15. intvar  key
  16.  
  17. rem **************************************************************************
  18. rem *                                                                        *
  19. rem *                             Define window                              *
  20. rem *                                                                        *
  21. rem **************************************************************************
  22.  
  23. mainmenu = define_win 23 6  5  6 1 yes ' ' black white black   white
  24. demowin  = define_win 55 5 12 15 1 yes ' ' white blue  ltwhite black
  25.  
  26.  
  27. rem **************************************************************************
  28. rem *                                                                        *
  29. rem *                          Define menu options                           *
  30. rem *                                                                        *
  31. rem *  Window handle. Window column & row. Hotkey (0 if none).               *
  32. rem *                                                                        *
  33. rem *                                                                        *
  34. rem **************************************************************************
  35.  
  36. define_menusel mainmenu 1 1 F1 ltwhite black black white " F1 View this Script "
  37. define_menusel mainmenu 1 2 F2 ltwhite black black white " F2 Demo Window      "
  38. define_menusel mainmenu 1 3 F3 ltwhite black black white " F3 Dos Shell        "
  39. define_menusel mainmenu 1 4 F4 ltwhite black black white " F4 Exit             "
  40.  
  41. rem **************************************************************************
  42. rem *                                                                        *
  43. rem *                            Setup demo window                           *
  44. rem *                                                                        *
  45. rem **************************************************************************
  46.  
  47. win_puts demowin 16 2 "This is a demo window."         Put string in center
  48. win_puts demowin 2 4  "[ Hit any key ]"                Put String in frame
  49.  
  50. rem **************************************************************************
  51. rem *                                                                        *
  52. rem *                             Read menu                                  *
  53. rem *                                                                        *
  54. rem *  Returns keystroke. Passed window handle and variable to hold index    *
  55. rem *  of active selection on return.                                        *
  56. rem *                                                                        *
  57. rem **************************************************************************
  58.  
  59. label getmainmenu                                       Main menu loop
  60.  
  61. key = read_menu mainmenu menusel                        Get menu selection
  62.  
  63. if key == ESC goto exitdemo                             Escape key ? Exit.
  64. if key <> 13  goto getmainmenu                          Bad key ?
  65.  
  66. if menusel == 0 view_file "menu.pow"                    View demo script ?
  67. if menusel == 1 gosub     show_demo                     Demo window ?
  68. if menusel == 2 gosub     dos_shell                     Dos shell selection ?
  69. if menusel == 3 goto      exitdemo                      Exit selection ?
  70.  
  71. goto getmainmenu                                        Read menu again
  72.  
  73. rem **************************************************************************
  74. rem *                                                                        *
  75. rem *                          Show demo window                              *
  76. rem *                                                                        *
  77. rem **************************************************************************
  78.  
  79. label show_demo
  80.  
  81. show_win demowin                                        Show read dest window
  82. read_key                                                Wait for keystroke
  83. hide_win demowin                                        Remove. Don't free.
  84.  
  85. return
  86.  
  87. rem **************************************************************************
  88. rem *                                                                        *
  89. rem *                         Attempt to shell to Dos                        *
  90. rem *                                                                        *
  91. rem **************************************************************************
  92.  
  93. label dos_shell
  94.  
  95. execute_file yes "c:\command.com" ""                     Try to run COMMAND.COM
  96.  
  97. return
  98.  
  99. rem **************************************************************************
  100. rem *                                                                        *
  101. rem *                              Exit Script                               *
  102. rem *                                                                        *
  103. rem **************************************************************************
  104.  
  105. label exitdemo
  106.  
  107. close_win mainmenu
  108. close_win demowin
  109. exit 0
  110.